Telecommunications networks in the past have consisted of circuit-switched networks. Generally, circuit-switched networks include multiple network elements communicatively interconnecting a source location and a destination location. A circuit or a static communications path through the multiple network elements is established linking the source location to the destination location. Once the circuit has been established, the source location would be connected to the destination location and communications may be performed there between. The circuit remains established for the duration of the session. These types of sessions would be used for both voice and data, such as voice conversations, facsimiles, data modems, and the like.
Because the circuit is maintained for the entire duration of the session regardless of amount of use, a circuit-switched network may be an inefficient use of the network elements. This is particularly true of some data applications in which the data transmission is bursty. For example, if an application consisted of data being sent from a first user to a second user, who reviews the information and transmits a response back to the first user, a circuit would be maintained even though no information was being transmitted during the time that the second user spent reviewing the information.
In contrast to a circuit-switched network, a packet-based network does not establish a static circuit or communication path between the first location and the second location for the duration of the session. Rather, a packet-based network breaks data into packets, which are then individually sent from the first location to the second location over a network of interconnected network elements and individually routed to their destination. In this manner, the packets may be dynamically re-routed in the event a fault condition is detected on a particular link or on a particular device. The data is then reconstructed from the individual packets at the second (destination) location. In this manner, the resources of the network elements may be used by other sessions or unrelated data traffic when not currently being used to transmit data, thereby allowing a more efficient use of resources than circuit-switched networks.
Some such packet-based networks utilize a transport protocol such as the Internet Protocol (IP) and one such example is the Internet. The Internet, and other data networks, comprises a collection of interconnected network elements. Data packets are routed from one network element to another based upon routing tables contained in each network element until the packet arrives at the destination. If a network element or a link between network elements fails, then the packet is rerouted through different network elements.
A distance-vector routing protocol operates based on routers advertising routes to other routers as vectors of distance and direction, wherein distance is typically in terms of numerically abstract metrics and direction typically in terms of a next-hop router. A route will initially enter (originate) into the distance-vector protocol from either the IP address on a particular interface on a router or from another routing protocol (example—BGP) on that router. The router then advertises that route via the distance vector protocol to its distance vector routing neighbors. The route is advertised in distance-vector terms with a distance equal to the distance between the advertising routing and the learning router. The direction is equal to the router the route was learned from. The router that has learned the route then advertises it to its neighbors with a new distance equal to the distance from the originating router to the advertising router plus the distance to the new router the route is being advertised to. This process carries on across the network.
Monitoring the path taken by sessions through the network elements, however, is difficult, particularly when the network elements utilize a distance-vector routing protocol such as Extended Interior Gateway Routing Protocol (EIGRP). EIGRP is a Cisco proprietary routing protocol that provides limited information regarding the network topology. Because only limited network topology information is provided, a network topology map is not always available, thereby making it difficult to monitor the network for problems and making the necessary adjustments.